﻿using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Content; 

namespace Ivory
{
    public abstract class Screenbase : GameComponent {
        //Fields
        public ScreenManager Manager;

        //Construct
        public Screenbase(Game game) : base(game) {

        }

        //Methods
        /// <summary>
        /// DO NOT USE!
        /// </summary> 
        public abstract void drawScreen(SpriteBatch batch, GameTime time);

        /// <summary>
        /// Loads objects during the load screen
        /// </summary> 
        public abstract void loadScreen(ContentManager content);

        /// <summary>
        /// Preloads content into the game, this is done when the game is launched
        /// </summary>
        /// <param name="content"></param>
        public abstract void preLoad(ContentManager content);

        /// <summary>
        /// DO NOT USE!
        /// </summary> 
        public abstract void updateScreen(GameTime time); 
    }
}
